Skip to main content

Introduction

Create engaging talking avatar videos with the JoggAI API. Select from 300+ realistic avatars, provide your script or audio, and generate professional videos in minutes.

Key Features

300+ Avatars

Professional avatars across all demographics

40+ Languages

Natural text-to-speech in multiple languages

Fast Generation

Videos ready in 2-5 minutes

Custom Options

Control background, aspect ratio, and captions

Workflow Overview

Avatar video creation is an asynchronous 4-step process:
1

Get Resources

Retrieve available avatars and voices from the API
2

Submit Video Request

Call create endpoint with avatar, voice, and script/audio
3

Background Processing

Video renders automatically (2-5 minutes)
4

Retrieve Result

Get video URL via webhook or polling
This is an asynchronous process. Don’t wait for the response - use webhooks or polling to get results.

Quick Start

EndpointPurposeDocumentation
GET /avatars/publicGet public avatar listAPI Reference
GET /voicesGet voice listAPI Reference
POST /create_video_from_avatarCreate avatar videoAPI Reference
GET /avatar_video/{id}Check video statusAPI Reference

Key Parameters

ParameterTypeRequiredDescription
avatarobjectAvatar configuration
avatar.avatar_idintegerAvatar ID from avatar list
avatar.avatar_typeinteger0=Public, 1=Custom avatar
voiceobjectVoice configuration
voice.typestring“script” or “audio”
voice.voice_idstringVoice ID for text-to-speech
voice.scriptstring*Text to speak (required when type is “script”)
voice.audio_urlstring*Audio file URL (required when type is “audio”)
aspect_ratiostringportrait/landscape/square
screen_styleinteger1=Full screen, 2=Split screen, 3=Picture in picture
captionbooleanEnable subtitles (default: false)
You must provide either voice.script (for text-to-speech) OR voice.audio_url (for custom audio), but not both. Set voice.type to “script” or “audio” accordingly.

Code Examples

Step 1: Basic Avatar Video with Script

Create a simple video with text-to-speech:
curl --request POST \
  --url 'https://api.jogg.ai/v2/create_video_from_avatar' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "avatar": {
      "avatar_id": 81,
      "avatar_type": 0
    },
    "voice": {
      "type": "script",
      "voice_id": "en-US-ChristopherNeural",
      "script": "Welcome to JoggAI! Create amazing videos with AI avatars in minutes."
    },
    "aspect_ratio": "portrait",
    "screen_style": 1,
    "caption": true
  }'
Response:
{
  "code": 0,
  "msg": "Success",
  "data": {
    "video_id": "video_123456"
  }
}
Save the video_id to check status later!

Step 2: Check Video Status

Poll to check if video is ready:
curl --request GET \
  --url 'https://api.jogg.ai/v2/avatar_video/video_123456' \
  --header 'x-api-key: YOUR_API_KEY'
Response (Processing):
{
  "code": 0,
  "msg": "Success",
  "data": {
    "video_id": "video_123456",
    "status": "processing",
    "created_at": 1732806631
  }
}
Response (Completed):
{
  "code": 0,
  "msg": "Success",
  "data": {
    "video_id": "video_123456",
    "status": "completed",
    "video_url": "https://res.jogg.ai/videos/video_123456.mp4",
    "cover_url": "https://res.jogg.ai/covers/cover_123456.jpg",
    "created_at": 1732806631
  }
}
Instead of polling, use [Webhooks](/api-reference/v2/API Documentation/WebhookIntegration) to get notified instantly when videos are ready!

Use Case Examples

Create engaging marketing videos for social platforms:
  • Use aspect_ratio: "portrait" for Instagram Stories/TikTok
  • Use aspect_ratio: "landscape" for YouTube
  • Enable caption: true for silent autoplay
Generate educational content with AI presenters:
  • Choose professional avatars for credibility
  • Use clear, structured scripts
  • Add captions for accessibility
Showcase products with avatar presenters:
  • Use custom audio for brand voice
  • Combine with product visuals
  • Generate videos in multiple languages
Create FAQ and tutorial videos:
  • Batch generate common questions
  • Update easily by regenerating
  • Personalize with voice selection